package com.beta.service;

import com.baomidou.framework.service.ISuperService;
import com.baomidou.mybatisplus.plugins.Page;
import com.beta.dto.admin.TransactionDetailDto;
import com.beta.dto.admin.TransactionDto;
import com.beta.entity.Orders;
import com.beta.entity.Payments;
import com.beta.entity.OrderSettleQueues;
import com.beta.entity.Transactions;

import java.math.BigDecimal;
import java.util.List;

/**
 *
 * Transactions 表数据服务层接口
 *
 */
public interface ITransactionsService extends ISuperService<Transactions> {

    void createPayTransaction(String balanceCode, String accountCode, Orders order, Payments payment);

    void createRefundTransaction(String balanceCode, Orders orders);

    void createSettleTransaction(String balanceCode, OrderSettleQueues settleQuere, Orders order);

    List<TransactionDto> getTransactions(Integer resourceId);

    Page<TransactionDto> getTransactions(Page<TransactionDto>page, String code, BigDecimal amountBegin, BigDecimal amountEnd, String username);

    TransactionDetailDto getTransactionDetail(Integer transactionId);


}